home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / macros / source / base / slides.def < prev    next >
Text File  |  1995-03-15  |  19KB  |  519 lines

  1. %% 
  2. %% This is file `slides.def', generated 
  3. %% on <1995/3/2> with the docstrip utility (2.2i).
  4. %% 
  5. %% The original source files were:
  6. %% 
  7. %% slides.dtx  (with options: `cmd')
  8. %% 
  9. %% Copyright 1994 the LaTeX3 project and the individual authors. 
  10. %% All rights reserved. For further copyright information see the file 
  11. %% legal.txt, and any other copyright indicated in this file. 
  12. %% 
  13. %% This file is part of the LaTeX2e system. 
  14. %% ---------------------------------------- 
  15. %% 
  16. %% This system is distributed in the hope that it will be useful, 
  17. %% but WITHOUT ANY WARRANTY; without even the implied warranty of 
  18. %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
  19. %% 
  20. %% 
  21. %% IMPORTANT NOTICE: 
  22. %% 
  23. %% For error reports in case of UNCHANGED versions see bugs.txt. 
  24. %% 
  25. %% Please do not request updates from us directly. Distribution is 
  26. %% done through Mail-Servers and TeX organizations. 
  27. %% 
  28. %% You are not allowed to change this file. 
  29. %% 
  30. %% You are allowed to distribute this file under the condition that 
  31. %% it is distributed together with all files mentioned in manifest.txt. 
  32. %% 
  33. %% If you receive only some of these files from someone, complain! 
  34. %% 
  35. %% You are NOT ALLOWED to distribute this file alone. You are NOT 
  36. %% ALLOWED to take money for the distribution or use of either this 
  37. %% file or a changed version, except for a nominal charge for copying 
  38. %% etc. 
  39. %% \CharacterTable
  40. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  41. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  42. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  43. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  44. %%   Dollar        \$     Percent       \%     Ampersand     \&
  45. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  46. %%   Asterisk      \*     Plus          \+     Comma         \,
  47. %%   Minus         \-     Point         \.     Solidus       \/
  48. %%   Colon         \:     Semicolon     \;     Less than     \<
  49. %%   Equals        \=     Greater than  \>     Question mark \?
  50. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  51. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  52. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  53. %%   Right brace   \}     Tilde         \~}
  54. \ProvidesFile{slides.def}
  55.               [1994/12/16 v2.3l
  56.                SLiTeX definitions]
  57. \message{hacks,}
  58.  
  59. \outer\def\newifG#1{\count@\escapechar \escapechar\m@ne
  60.   \expandafter\expandafter\expandafter
  61.    \edef\@ifG#1{true}{\global\let\noexpand#1\noexpand\iftrue}%
  62.   \expandafter\expandafter\expandafter
  63.    \edef\@ifG#1{false}{\global\let\noexpand#1\noexpand\iffalse}%
  64.   \@ifG#1{false}\escapechar\count@} % the condition starts out false
  65. \def\@ifG#1#2{\csname\expandafter\ifG@\string#1#2\endcsname}
  66. {\uccode`1=`i \uccode`2=`f \uccode`3=`G \uppercase{\gdef\ifG@123{G}}}
  67.  % `ifG' is required
  68.  
  69. \def\@gobbletoend#1{\def\@argend{#1}\@ggobtoend}
  70.  
  71. \long\def\@ggobtoend#1\end#2{\fi\def\@tempa{#2}%
  72. \ifx\@tempa\@argend\else\@ggobtoend\fi}
  73.  \message{slides,}
  74. \newif\if@bw
  75. \newif\if@visible
  76. \newif\if@onlyslidesw \@onlyslideswfalse
  77. \newif\if@onlynotesw  \@onlynoteswfalse
  78. \newif\if@makingslides
  79. \newifG\ifG@slidesw
  80. \countdef\c@slide=0 \c@slide=0
  81. \def\cl@slide{}
  82. \countdef\c@overlay=1 \c@overlay=0
  83. \def\cl@overlay{}
  84. \countdef\c@note=2 \c@note=0
  85. \def\cl@note{}
  86.  
  87. \@addtoreset{overlay}{slide}
  88. \@addtoreset{note}{slide}
  89. \@definecounter{page}
  90. \@addtoreset{page}{slide}
  91. \@addtoreset{page}{note}
  92. \@addtoreset{page}{overlay}
  93.  
  94. \def\theslide{\@arabic\c@slide}
  95. \def\theoverlay{\theslide-\@alph\c@overlay}
  96. \def\thenote{\theslide-\@arabic\c@note}
  97. \def\@sl@getargs#1-#2-#3\relax#4#5{\xdef#4{#1}\xdef#5{#2}}
  98. \def\@sl@ccdr#1,#2\relax#3#4{\xdef#3{#1-#1-}\xdef#4{#2}}
  99.  
  100. \def\@setlimits #1#2#3{\expandafter\@sl@ccdr#1\relax\@sl@gtmp #1%
  101. \expandafter\@sl@getargs\@sl@gtmp\relax#2#3}
  102. \def\onlyslides#1{\@onlyslideswtrue
  103.    \gdef\@doglslidelist{#1,999999,999999}%
  104.    \if@onlynotesw \else
  105.       \@onlynoteswtrue\gdef\@doglnotelist{999999,999999}\fi
  106.    \typeout{Only Slides #1}}
  107. \def\onlynotes#1{\@onlynoteswtrue
  108.    \gdef\@doglnotelist{#1,999999,999999}%
  109.    \if@onlyslidesw \else
  110.       \@onlyslideswtrue\gdef\@doglslidelist{999999,999999}\fi
  111.    \typeout{Only Notes #1}}
  112. \if@compatibility
  113. \def\blackandwhite#1{\newpage\setcounter{page}{0}\@bwtrue\@visibletrue
  114. \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
  115. \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
  116. \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
  117. \@setlimits\@donotelist\@donotelow\@donotehigh\fi
  118. \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
  119. \setcounter{note}{0}\@makingslidestrue\input #1\@makingslidesfalse}
  120. \def\colors#1{\@for\@colortemp:=#1\do{\expandafter
  121.   \xdef\csname\@colortemp\endcsname{\noexpand\@color{\@colortemp}}}\ifx
  122.   \@colorlist\@empty \gdef\@colorlist{#1}%
  123.     \else \xdef\@colorlist{\@colorlist,#1}\fi}
  124.  
  125. \def\@colorlist{}
  126. \def\colorslides#1{\newpage\setcounter{page}{0}\@bwfalse
  127. \@for\@currcolor:=\@colorlist\do
  128. {\@visibletrue
  129. \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
  130. \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
  131. \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
  132. \@setlimits\@donotelist\@donotelow\@donotehigh\fi
  133. \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
  134. \setcounter{note}{0}\typeout{color \@currcolor}%
  135. \newpage
  136. \begin{huge}%
  137. \begin{center}%
  138. COLOR LAYER\\[.75in]%
  139. \@currcolor
  140. \end{center}%
  141. \end{huge}%
  142. \newpage
  143. \@makingslidestrue
  144. \input #1
  145. \@makingslidesfalse}}
  146. \else  %% if@compatibility
  147. \def\setupcounters{\newpage\setcounter{page}{0}\@bwtrue\@visibletrue
  148. \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
  149. \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
  150. \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
  151. \@setlimits\@donotelist\@donotelow\@donotehigh\fi
  152. \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
  153. \setcounter{note}{0}\@makingslidesfalse}
  154.  
  155. \AtBeginDocument{\setupcounters}
  156. \fi %% if@compatibility
  157. \if@compatibility
  158. \def\slide#1{\stepcounter{slide}\G@slideswtrue\if@onlyslidesw
  159. \@whilenum \c@slide >\@doslidehigh\relax
  160. \do{\@setlimits\@doslidelist\@doslidelow\@doslidehigh}\ifnum
  161. \c@slide <\@doslidelow\relax\G@slideswfalse\fi\fi
  162. \ifG@slidesw
  163.   \G@slideswfalse
  164.   \if@bw\G@slideswtrue\else
  165.     \@color{#1}\if@visible \G@slideswtrue \fi
  166.   \fi
  167. \fi
  168. \ifG@slidesw \newpage\thispagestyle{slide}%
  169. \csname \last@color \endcsname
  170. \else\end{slide}\@gobbletoend{slide}\fi}
  171. \else  %% if@compatibility
  172. \def\slide{\par\break
  173. \stepcounter{slide}\setcounter{page}{0}\G@slideswtrue\if@onlyslidesw
  174. \@whilenum \c@slide >\@doslidehigh\relax
  175. \do{\@setlimits\@doslidelist\@doslidelow\@doslidehigh}\ifnum
  176. \c@slide <\@doslidelow\relax\G@slideswfalse\fi\fi
  177. \ifG@slidesw
  178.   \G@slideswfalse
  179.   \if@bw\G@slideswtrue\else
  180.     \if@visible \G@slideswtrue \fi
  181.   \fi
  182. \fi
  183. \ifG@slidesw \@makingslidestrue\thispagestyle{slide}%
  184. \csname \last@color \endcsname
  185. \else\end{slide}\@gobbletoend{slide}\fi}
  186. \fi %% if@compatibility
  187.  
  188. \let\last@color\@empty
  189.  
  190. \def\endslide{\par\break}
  191. \if@compatibility
  192. \def\overlay#1{\stepcounter{overlay}\G@slideswtrue%
  193. \if@onlyslidesw\ifnum \c@slide <\@doslidelow\relax
  194. \G@slideswfalse\fi\fi
  195. \ifG@slidesw \G@slideswfalse\begingroup\if@bw\G@slideswtrue%
  196. \else\@color{#1}\if@visible \G@slideswtrue\fi\fi\endgroup\fi
  197. \ifG@slidesw \newpage\thispagestyle{overlay}%
  198. \else\end{overlay}\@gobbletoend{overlay}\fi}
  199. \else %%if@compatibility
  200. \def\overlay{\par\break
  201.   \stepcounter{overlay}%
  202.   \setcounter{page}{0}%
  203.   \G@slideswtrue%
  204.   \if@onlyslidesw\ifnum \c@slide <\@doslidelow\relax
  205.     \G@slideswfalse\fi\fi
  206.   \ifG@slidesw \G@slideswfalse
  207.     \begingroup\if@bw\G@slideswtrue%
  208.                \else\if@visible \G@slideswtrue\fi\fi
  209.     \endgroup\fi
  210.   \ifG@slidesw \@makingslidestrue\thispagestyle{overlay}%
  211.   \else\end{overlay}\@gobbletoend{overlay}\fi}
  212. \fi %%if@compatibility
  213.  
  214. \def\endoverlay{\par\break}
  215. \if@compatibility
  216. \def\note{\stepcounter{note}%
  217.    \if@bw
  218.       \G@slideswtrue
  219.       \if@onlynotesw\@whilenum \c@slide >\@donotehigh\relax
  220.       \do{\@setlimits\@donotelist\@donotelow\@donotehigh}\ifnum
  221.         \c@slide <\@donotelow\relax \G@slideswfalse\fi\fi
  222.       \else\G@slideswfalse\fi
  223.       \ifG@slidesw \newpage\thispagestyle{note}\else
  224.       \end{note}\@gobbletoend{note}\fi}
  225. \else %%if@compatibility
  226. \def\note{\par\break\stepcounter{note}\setcounter{page}{0}%
  227.    \if@bw
  228.       \G@slideswtrue
  229.       \if@onlynotesw\@whilenum \c@slide >\@donotehigh\relax
  230.       \do{\@setlimits\@donotelist\@donotelow\@donotehigh}\ifnum
  231.         \c@slide <\@donotelow\relax \G@slideswfalse\fi\fi
  232.       \else\G@slideswfalse\fi
  233.       \ifG@slidesw \@makingslidestrue\thispagestyle{note}\else
  234.       \end{note}\@gobbletoend{note}\fi}
  235. \fi %%if@compatibility
  236.  
  237. \def\endnote{\par\break}
  238. \def\@color#1{\@mmodetest
  239.  {\if@bw \@tempswatrue \else \@tempswafalse
  240.    \@for \@tempa :=#1\do{\ifx\@tempa\@currcolor\@tempswatrue\fi
  241.                          \let\last@color\@tempa}\fi
  242.   \if@tempswa \visible \else \invisible \fi
  243.   \ignorespaces}}
  244.  
  245. \def\@mmodetest#1{\ifmmode\ClassWarning{slides}{Color-changing command
  246.        in math mode has been ignored}\else #1\fi}
  247.  
  248. \def\invisible{\@mmodetest
  249.   {\if@visible
  250.      \@visiblefalse
  251.      \fontshape\f@shape\selectfont
  252.      \mathversion{invisible}%
  253.    \fi
  254.    \ignorespaces}}
  255.  
  256. \def\visible{\@mmodetest
  257.   {\if@visible
  258.    \else
  259.      \@visibletrue
  260.      \fontshape{\expandafter\@gobble\f@shape}\selectfont
  261.      \mathversion{normal}%
  262.    \fi
  263.    \ignorespaces}}
  264.  
  265. \def\fontshape#1{\edef\f@shape{\if@visible \else I\fi #1}}
  266. \renewcommand{\familydefault}{\sfdefault}
  267. \DeclareFontFamily{U}{lasy}{}{}
  268. \DeclareFontShape{U}{lasy}{m}{n}{%
  269.       <12><13.82><16.59><19.91><23.89><28.66><34.4><41.28>lasy8
  270. }{}
  271. \DeclareFontShape{U}{lasy}{m}{In}{%
  272.       <13.82><16.59><19.91><23.89><28.66><34.4><41.28>ilasy8
  273. }{}
  274. \message{picture,}
  275. \def\line(#1,#2)#3{\if@visible\@xarg #1\relax \@yarg #2\relax
  276. \@linelen #3\unitlength
  277. \ifnum\@xarg =\z@ \@vline
  278.   \else \ifnum\@yarg =\z@ \@hline \else \@sline\fi
  279. \fi\fi}
  280.  
  281. \def\vector(#1,#2)#3{\if@visible\@xarg #1\relax \@yarg #2\relax
  282. \@linelen #3\unitlength
  283. \ifnum\@xarg =\z@ \@vvector
  284.   \else \ifnum\@yarg =\z@ \@hvector \else \@svector\fi
  285. \fi\fi}
  286.  
  287. \def\dashbox#1(#2,#3){%
  288. \leavevmode\if@visible\hbox to \z@{\baselineskip \z@
  289. \lineskip \z@
  290. \@dashdim #2\unitlength
  291. \@dashcnt \@dashdim \advance\@dashcnt 200
  292. \@dashdim #1\unitlength\divide\@dashcnt \@dashdim
  293. \ifodd\@dashcnt\@dashdim\z@
  294. \advance\@dashcnt \@ne \divide\@dashcnt \tw@
  295. \else \divide\@dashdim \tw@ \divide\@dashcnt \tw@
  296. \advance\@dashcnt \m@ne
  297. \setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
  298. \@width \@dashdim}\put(0,0){\copy\@dashbox}%
  299. \put(0,#3){\copy\@dashbox}%
  300. \put(#2,0){\hskip-\@dashdim\copy\@dashbox}%
  301. \put(#2,#3){\hskip-\@dashdim\box\@dashbox}%
  302. \multiply\@dashdim \thr@@
  303. \fi
  304. \setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
  305. \@width #1\unitlength\hskip #1\unitlength}\@tempcnta\z@
  306. \put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
  307. \do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta\z@
  308. \put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
  309. \do{\copy\@dashbox\advance\@tempcnta \@ne }}%
  310. \@dashdim #3\unitlength
  311. \@dashcnt=\@dashdim \advance\@dashcnt 200
  312. \@dashdim #1\unitlength\divide\@dashcnt \@dashdim
  313. \ifodd\@dashcnt \@dashdim=\z@
  314. \advance\@dashcnt \@ne \divide\@dashcnt \tw@
  315. \else
  316. \divide\@dashdim \tw@ \divide\@dashcnt \tw@
  317. \advance\@dashcnt \m@ne
  318. \setbox\@dashbox\hbox{\hskip -\@halfwidth
  319. \vrule \@width \@wholewidth
  320. \@height \@dashdim}\put(0,0){\copy\@dashbox}%
  321. \put(#2,0){\copy\@dashbox}%
  322. \put(0,#3){\lower\@dashdim\copy\@dashbox}%
  323. \put(#2,#3){\lower\@dashdim\copy\@dashbox}%
  324. \multiply\@dashdim \thr@@
  325. \fi
  326. \setbox\@dashbox\hbox{\vrule \@width \@wholewidth
  327. \@height #1\unitlength}\@tempcnta\z@
  328. \put(0,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt
  329. \do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
  330. \vskip\@dashdim}}\@tempcnta\z@
  331. \put(#2,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt
  332. \relax\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
  333. \vskip\@dashdim}}}\fi\@makepicbox(#2,#3)}
  334.  
  335. \def\@oval(#1,#2)[#3]{\if@visible\begingroup \boxmaxdepth \maxdimen
  336.   \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
  337.   \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}\@ovxx
  338.   #1\unitlength \@ovyy #2\unitlength
  339.   \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
  340.   \advance \@tempdimb -2\p@
  341.   \@getcirc \@tempdimb
  342.   \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
  343.   \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
  344.   \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
  345.   \@circlefnt \setbox\@tempboxa
  346.   \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
  347.   \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
  348.   \if@ovt \@ovhorz \kern -\@ovxx \fi
  349.   \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
  350.   \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
  351.   \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
  352.   \endgroup\fi}
  353.  
  354. \def\@circle#1{\if@visible \begingroup \boxmaxdepth \maxdimen
  355.    \@tempdimb #1\unitlength
  356.    \ifdim \@tempdimb >15.5\p@\relax \@getcirc\@tempdimb
  357.       \@ovro\ht\@tempboxa
  358.      \setbox\@tempboxa\hbox{\@circlefnt
  359.       \advance\@tempcnta\tw@ \char \@tempcnta
  360.       \advance\@tempcnta\m@ne \char \@tempcnta \kern -2\@tempdima
  361.       \advance\@tempcnta\tw@
  362.       \raise \@tempdima \hbox{\char\@tempcnta}\raise \@tempdima
  363.         \box\@tempboxa}\ht\@tempboxa\z@ \dp\@tempboxa\z@
  364.       \@put{-\@ovro}{-\@ovro}{\box\@tempboxa}%
  365.    \else  \@circ\@tempdimb{96}\fi\endgroup\fi}
  366.  
  367. \def\@dot#1{%
  368.   \if@visible\@tempdimb #1\unitlength \@circ\@tempdimb{112}\fi}
  369.  
  370. \long\def\@iframebox[#1][#2]#3{\leavevmode
  371.   \savebox\@tempboxa[#1][#2]{\kern\fboxsep #3\kern\fboxsep}%
  372.     \@tempdima\fboxrule
  373.     \advance\@tempdima \fboxsep \advance\@tempdima \dp\@tempboxa
  374.    \hbox{\lower \@tempdima\hbox
  375.   {\vbox{\if@visible \hrule \@height \else \vskip \fi \fboxrule
  376.           \hbox{%
  377.             \if@visible \vrule \@width \fboxrule \hskip-\fboxrule \fi
  378.             \vbox{\vskip\fboxsep\box\@tempboxa\vskip\fboxsep}\if@visible
  379.             \vrule \@width \fboxrule \hskip-\fboxrule \fi}\if@visible
  380.          \hrule \@height \else \vskip\fi\fboxrule}}}}
  381.  
  382. \long\def\frame#1{\if@visible\leavevmode
  383. \vbox{\vskip-\@halfwidth\hrule \@height\@halfwidth \@depth \@halfwidth
  384.   \vskip-\@halfwidth\hbox{\hskip-\@halfwidth \vrule \@width\@wholewidth
  385.   \hskip-\@halfwidth #1\hskip-\@halfwidth \vrule \@width \@wholewidth
  386.   \hskip -\@halfwidth}\vskip -\@halfwidth\hrule \@height \@halfwidth
  387.   \@depth \@halfwidth\vskip -\@halfwidth}\else #1\fi}
  388.  
  389. \long\def\fbox#1{\leavevmode
  390.     \setbox\@tempboxa\hbox{#1}\@tempdima\fboxrule
  391.     \advance\@tempdima \fboxsep \advance\@tempdima \dp\@tempboxa
  392.    \hbox{\lower \@tempdima\hbox
  393.   {\vbox{\if@visible \hrule \@height \else \vskip\fi\fboxrule
  394.           \hbox{\if@visible\vrule \@width \else \hskip \fi\fboxrule
  395.                  \hskip\fboxsep
  396.             \vbox{\vskip\fboxsep \box\@tempboxa\vskip\fboxsep}\hskip
  397.                    \fboxsep
  398.                    \if@visible\vrule \@width\else\hskip \fi\fboxrule}%
  399.           \if@visible\hrule \@height \else \vskip \fi\fboxrule}}}}
  400.  
  401. \message{mods,}
  402. \def\@rule[#1]#2#3{\@tempdima#3\advance\@tempdima #1\leavevmode
  403.  \hbox{\if@visible\vrule
  404.   \@width#2 \@height\@tempdima \@depth-#1\else
  405. \vrule \@width \z@ \@height\@tempdima \@depth-#1\vrule
  406.  \@width#2 \@height\z@\fi}}
  407.  
  408.  
  409. \def\_{\leavevmode \kern.06em \if@visible\vbox{\hrule \@width.3em}\else
  410.    \vbox{\hrule \@height \z@ \@width.3em}\vbox{\hrule \@width \z@}\fi}
  411. \def\@mathbox#1#2#3{\setbox#2\hbox{$\m@th#1{#3}$}}
  412.  
  413. \def\@vbphantom#1{\setbox\tw@\null \ht\tw@\ht #1\dp\tw@\dp #1%
  414.    \box\tw@}
  415.  
  416. \def\@bphantom#1{\setbox\tw@\null
  417.    \wd\tw@\wd #1\ht\tw@\ht #1\dp\tw@\dp #1%
  418.    \box\tw@}
  419.  
  420. \def\@hbphantom#1{\setbox\tw@\null \wd\tw@\wd #1\ht\tw@\z@ \dp\tw@\z@
  421.    \box\tw@}
  422.  
  423. \def\@hvsmash#1#2{\@mathbox#1\z@{#2}\ht\z@\z@ \dp\z@\z@ \wd\z@\z@
  424.    \box\z@}
  425.  
  426. \def\underline#1{\relax\ifmmode
  427.   \@xunderline{#1}\else $\m@th\@xunderline{\hbox{#1}}$\relax\fi}
  428.  
  429. \def\@xunderline#1{\mathchoice{\@xyunderline\displaystyle{#1}}%
  430.    {\@xyunderline
  431.     \textstyle{#1}}{\@xyunderline\scriptstyle{#1}}{\@xyunderline
  432.       \scriptscriptstyle{#1}}}
  433.  
  434. \def\@xyunderline#1#2{%
  435.    \@mathbox#1\@smashboxa{#2}\@hvsmash#1{\copy\@smashboxa}%
  436.    \if@visible \@hvsmash#1{\@@underline{\@bphantom\@smashboxa}}\fi
  437.   \@mathbox#1\@smashboxb{\@@underline{\box\@smashboxa}}%
  438.    \@bphantom\@smashboxb}
  439.  
  440. \let\@@overline=\overline
  441.  
  442. \def\overline#1{\mathchoice{\@xoverline\displaystyle{#1}}{\@xoverline
  443.     \textstyle{#1}}{\@xoverline\scriptstyle{#1}}{\@xoverline
  444.       \scriptscriptstyle{#1}}}
  445.  
  446. \def\@xoverline#1#2{%
  447.    \@mathbox#1\@smashboxa{#2}\@hvsmash#1{\copy\@smashboxa}%
  448.    \if@visible \@hvsmash#1{\@@overline{\@bphantom\@smashboxa}}\fi
  449.    \@mathbox#1\@smashboxb{\@@overline{\box\@smashboxa}}%
  450.    \@bphantom\@smashboxb}
  451. \def\frac#1#2{\mathchoice
  452.    {\@frac\displaystyle\textstyle{#1}{#2}\textfont}{\@frac
  453.          \textstyle\scriptstyle{#1}{#2}\textfont}{\@frac
  454.          \scriptstyle\scriptscriptstyle{#1}{#2}\scriptfont}{\@frac
  455.          \scriptscriptstyle\scriptscriptstyle{#1}{#2}\scriptscriptfont}}
  456.  
  457. \def\@frac#1#2#3#4#5{%
  458.    \@mathbox#1\@smashboxc{{\begingroup#3\endgroup\over#4}}%
  459.    \setbox\tw@\null
  460.    \ht\tw@ \ht\@smashboxc
  461.    \dp\tw@ \dp\@smashboxc
  462.    \wd\tw@ \wd\@smashboxc
  463.    \box\if@visible\@smashboxc\else\tw@\fi}
  464.  
  465. \def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\@xysqrt#1{#2}$}%
  466.   \dimen@\ht\z@ \advance\dimen@-\dp\z@
  467.   \mskip5mu\raise.6\dimen@\copy\rootbox \mskip-10mu\box\z@}
  468.  
  469. \def\sqrt{\@ifnextchar[{\@sqrt}{\@xsqrt}}
  470. \def\@sqrt[#1]{\root #1\of}
  471. \def\@xsqrt#1{\mathchoice{\@xysqrt\displaystyle{#1}}{\@xysqrt
  472.      \textstyle{#1}}{\@xysqrt\scriptstyle{#1}}{\@xysqrt
  473.     \scriptscriptstyle{#1}}}
  474. \def\@xysqrt#1#2{\@mathbox#1\@smashboxa{#2}\if@visible
  475.     \@hvsmash#1{\@@sqrt{\@bphantom\@smashboxa}}\fi
  476.     \phantom{\@@sqrt{\@vbphantom\@smashboxa}}\box\@smashboxa}
  477.  
  478. \newbox\@smashboxa
  479. \newbox\@smashboxb
  480. \newbox\@smashboxc
  481. \def\@arrayrule{\if@visible\@addtopreamble{\hskip -.5\arrayrulewidth
  482.    \vrule \@width \arrayrulewidth\hskip -.5\arrayrulewidth}\fi}
  483.  
  484. \def\cline#1{\if@visible\@cline[#1]\fi}
  485.  
  486. \def\hline{\noalign{\ifnum0=`}\fi
  487.     \if@visible \hrule \@height \arrayrulewidth
  488.       \else \hrule \@width \z@
  489.     \fi
  490.     \futurelet \@tempa\@xhline}
  491.  
  492. \def\vline{\if@visible \vrule \@width \arrayrulewidth
  493.             \else \vrule \@width \arrayrulewidth \@height \z@
  494.            \@depth \z@ \fi}
  495. \message{output,}
  496. \let\@topfil\vfil
  497.  
  498. \def\@makecol{\if@makingslides\ifnum\c@page>\z@ \@extraslide\fi\fi
  499. \ifvoid\footins \setbox\@outputbox\box\@cclv \let\@botfil\vfil
  500.    \else\let\@botfil\relax\setbox\@outputbox
  501.      \vbox{\unvbox\@cclv\vfil
  502.            \vskip\skip\footins\footnoterule\unvbox\footins\vskip
  503.             \z@ plus.1fil\relax}\fi
  504.   \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
  505.      \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
  506.         \@topfil\unvbox\@outputbox\@botfil}\global\maxdepth\@maxdepth}
  507.  
  508. \def\@extraslide{\ifnum\c@note>\z@
  509.     \ClassWarning{slides}{Note \thenote\space too long}\else
  510.      \ifnum\c@overlay>\z@
  511.         \ClassWarning{slides}{Overlay \theoverlay\space too long}\else
  512.         \ClassWarning{slides}{Slide \theslide\space too long}\fi\fi}
  513. \message{init}
  514.  
  515. \@visibletrue
  516. \endinput
  517. %% 
  518. %% End of file `slides.def'.
  519.